The present invention relates to spread-spectrum communications, and more particularly, to apparatus, methods and computer program products for acquiring spread spectrum signals.
The Global Positioning System (GPS) is a space-based navigational communications system using satellites and associated ground-based components to provide positional information around the earth. Advantages of this navigational system over land-based systems include worldwide and continuous coverage, which may be highly accurate regardless of weather conditions.
In operation, GPS satellites orbit the earth and continually emit GPS radio signals. A GPS receiver, e.g., a portable device with a GPS processor, receives radio signals from visible satellites and measures the time that each radio signal takes to travel from the GPS satellites to the GPS receiver antenna and, from this information, calculates a range for each acquired satellite. Standalone GPS receivers are widely used by military forces, mariners, hikers, and surveyors. GPS capability may also be provided in mobile communications terminals (e.g., cellular handsets) to provide position location functionality that may be used, for example, for location based services (LBS).
Ephemeris information provided in the GPS satellite radio signal typically describes the satellite's orbit and velocity, thereby generally enabling the GPS processor to calculate the position of the GPS receiver through a process of triangulation. Generation of an accurate positional fix by a GPS receiver typically requires the acquisition of a set of navigational parameters from the navigational data signals from four or more such GPS satellites.
Part of acquisition process for a GPS satellite signal involves determination of the code phase of the spread-spectrum GPS signal so that distance to the transmitting satellite can be determined and to allow recovery of ephemeris data and other information from the signal. A typical GPS-enabled device includes a radio processor that downconverts a radio signal received from an antenna to an intermediate frequency (IF) signal. In order to search for a GPS signal in the received signal, samples of the IF signal are typically demodulated at each of a plurality of discrete IF frequency hypotheses corresponding to a range of possible frequency shifts that may be attributable to Doppler shift caused by relative movement of the device and the transmitting satellite, local oscillator frequency errors, and other sources. Each of the demodulated signals is then correlated with the satellite's assigned spreading code at each of a plurality of time shifts to generate correlation information that is used to determine the timing of the satellite's spread-spectrum signal, i.e., the code phase.
In some conventional GPS code search techniques, to test a particular IF frequency hypotheses, the sampled IF signal sample stream may be multiplied by sine and cosine sequences with the same frequency as the IF frequency hypotheses to generate candidate in-phase (I) and quadrature (Q) data streams (if the frequency hypothesis is accurate, these two streams should substantially correspond to actual I and Q components of the IF signal in a non-rotating framework). The two candidate I and Q streams are multiplied by the PN code sequence being searched for over a plurality of code frequency hypotheses and code phase hypotheses, with the PN code sequence being expanded or contracted to fit the sample domain frequency for each hypothesis. If a hypothesized combination of code frequency, code phase and IF frequency hypothesis is accurate, then a maximum correlation value should be produced. This process may be typically repeated over a search space including different IF carrier hypotheses, PN code starting point hypotheses, and PN code frequency hypotheses until a maximum correlation value is found.